<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Frameset//EN""http://www.w3.org/TR/REC-html40/frameset.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<TITLE>
DRA Systems: OR-Objects 1.2.4: Class  Graph
</TITLE>
<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
</HEAD>
<BODY BGCOLOR="white">

<!-- ========== START OF NAVBAR ========== -->
<A NAME="navbar_top"><!-- --></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
  <TR ALIGN="center" VALIGN="top">
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT ID="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT ID="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
  </TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>

<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../drasys/or/graph/EdgeValue.html"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../drasys/or/graph/MatrixGraph.html"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="Graph.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
  SUMMARY: &nbsp;INNER&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL: &nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<!-- =========== END OF NAVBAR =========== -->

<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>
<FONT SIZE="-1">
drasys.or.graph</FONT>
<BR>
Class  Graph</H2>
<PRE>
java.lang.Object
  |
  +--<B>drasys.or.graph.Graph</B>
</PRE>
<DL>
<DT><B>Direct Known Subclasses:</B> <DD><A HREF="../../../drasys/or/graph/BaseGraph.html">BaseGraph</A>, <A HREF="../../../drasys/or/graph/MatrixGraph.html">MatrixGraph</A></DD>
</DL>
<HR>
<DL>
<DT>public abstract class <B>Graph</B><DT>extends java.lang.Object<DT>implements <A HREF="../../../drasys/or/graph/GraphI.html">GraphI</A>, java.io.Serializable</DL>

<P>
An abstract class that contains convenience methods for derived classes.
<P>
<DL>
<DT><B>See Also: </B><DD><A HREF="../../../drasys/or/graph/PointGraph.html"><CODE>PointGraph</CODE></A>, 
<A HREF="../../../drasys/or/graph/DenseGraph.html"><CODE>DenseGraph</CODE></A>, 
<A HREF="../../../drasys/or/graph/SparseGraph.html"><CODE>SparseGraph</CODE></A>, <A HREF="../../../serialized-form.html#drasys.or.graph.Graph">Serialized Form</A></DL>
<HR>

<P>
<!-- ======== INNER CLASS SUMMARY ======== -->


<!-- =========== FIELD SUMMARY =========== -->

<A NAME="field_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Field Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>protected &nbsp;java.lang.Boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../drasys/or/graph/Graph.html#_symmetric">_symmetric</A></B></CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
</TABLE>
&nbsp;
<!-- ======== CONSTRUCTOR SUMMARY ======== -->


<!-- ========== METHOD SUMMARY =========== -->

<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=2><FONT SIZE="+2">
<B>Method Summary</B></FONT></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.util.Enumeration</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../drasys/or/graph/Graph.html#edges()">edges</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates an enumeration on the edges of the graph.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../drasys/or/graph/Graph.html#equals(java.lang.Object)">equals</A></B>(java.lang.Object&nbsp;o)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Two graphs are equal if they have exacty the same elements.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../drasys/or/graph/EdgeI.html">EdgeI</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../drasys/or/graph/Graph.html#getEdge(drasys.or.graph.EdgeI)">getEdge</A></B>(<A HREF="../../../drasys/or/graph/EdgeI.html">EdgeI</A>&nbsp;edge)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the edge that matches edge.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../drasys/or/graph/EdgeI.html">EdgeI</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../drasys/or/graph/Graph.html#getEdge(java.lang.Object, java.lang.Object, java.lang.Object)">getEdge</A></B>(java.lang.Object&nbsp;fromKey,
        java.lang.Object&nbsp;toKey,
        java.lang.Object&nbsp;key)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get the edge between the from and to vertices whose key matches 'edgeKey'.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;boolean</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../drasys/or/graph/Graph.html#isSubsetOf(drasys.or.graph.GraphI)">isSubsetOf</A></B>(<A HREF="../../../drasys/or/graph/GraphI.html">GraphI</A>&nbsp;graph)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A graph is a subset of another if all its elements are contained in the other.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.util.Enumeration</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../drasys/or/graph/Graph.html#mutableEdges()">mutableEdges</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates an enumeration on the edges of the graph.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../drasys/or/graph/Graph.html#setSymmetric(java.lang.Boolean)">setSymmetric</A></B>(java.lang.Boolean&nbsp;symmetric)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Forces algorithms to treat the graph as either symmetric or assymetric.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../drasys/or/graph/Graph.html#toString(java.lang.String)">toString</A></B>(java.lang.String&nbsp;cls)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TD><B>Methods inherited from class java.lang.Object</B></TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE>clone, 
finalize, 
getClass, 
hashCode, 
notify, 
notifyAll, 
toString, 
wait, 
wait, 
wait</CODE></TD>
</TR>
</TABLE>
&nbsp;
<P>

<!-- ============ FIELD DETAIL =========== -->

<A NAME="field_detail"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=1><FONT SIZE="+2">
<B>Field Detail</B></FONT></TD>
</TR>
</TABLE>

<A NAME="_symmetric"><!-- --></A><H3>
_symmetric</H3>
<PRE>
protected java.lang.Boolean <B>_symmetric</B></PRE>
<DL>
</DL>

<!-- ========= CONSTRUCTOR DETAIL ======== -->


<!-- ============ METHOD DETAIL ========== -->

<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" WIDTH="100%">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TD COLSPAN=1><FONT SIZE="+2">
<B>Method Detail</B></FONT></TD>
</TR>
</TABLE>

<A NAME="setSymmetric(java.lang.Boolean)"><!-- --></A><H3>
setSymmetric</H3>
<PRE>
public void <B>setSymmetric</B>(java.lang.Boolean&nbsp;symmetric)</PRE>
<DL>
<DD>Forces algorithms to treat the graph as either symmetric or assymetric. 
An argument of 'null' causes the graph to automatically determine the return value for 'isSymmetric()'.<DD><DL>
<DT><B>Specified by: </B><DD><A HREF="../../../drasys/or/graph/GraphI.html#setSymmetric(java.lang.Boolean)">setSymmetric</A> in interface <A HREF="../../../drasys/or/graph/GraphI.html">GraphI</A></DL>
</DD>
</DL>
<HR>

<A NAME="getEdge(drasys.or.graph.EdgeI)"><!-- --></A><H3>
getEdge</H3>
<PRE>
public <A HREF="../../../drasys/or/graph/EdgeI.html">EdgeI</A> <B>getEdge</B>(<A HREF="../../../drasys/or/graph/EdgeI.html">EdgeI</A>&nbsp;edge)</PRE>
<DL>
<DD>Get the edge that matches edge.<DD><DL>
<DT><B>Specified by: </B><DD><A HREF="../../../drasys/or/graph/GraphI.html#getEdge(drasys.or.graph.EdgeI)">getEdge</A> in interface <A HREF="../../../drasys/or/graph/GraphI.html">GraphI</A></DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>Null if the edge is not in the graph.</DL>
</DD>
</DL>
<HR>

<A NAME="getEdge(java.lang.Object, java.lang.Object, java.lang.Object)"><!-- --></A><H3>
getEdge</H3>
<PRE>
public <A HREF="../../../drasys/or/graph/EdgeI.html">EdgeI</A> <B>getEdge</B>(java.lang.Object&nbsp;fromKey,
                     java.lang.Object&nbsp;toKey,
                     java.lang.Object&nbsp;key)</PRE>
<DL>
<DD>Get the edge between the from and to vertices whose key matches 'edgeKey'.<DD><DL>
<DT><B>Specified by: </B><DD><A HREF="../../../drasys/or/graph/GraphI.html#getEdge(java.lang.Object, java.lang.Object, java.lang.Object)">getEdge</A> in interface <A HREF="../../../drasys/or/graph/GraphI.html">GraphI</A></DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>Null if the edge is not in the graph.</DL>
</DD>
</DL>
<HR>

<A NAME="edges()"><!-- --></A><H3>
edges</H3>
<PRE>
public java.util.Enumeration <B>edges</B>()</PRE>
<DL>
<DD>Creates an enumeration on the edges of the graph.<DD><DL>
<DT><B>Specified by: </B><DD><A HREF="../../../drasys/or/graph/GraphI.html#edges()">edges</A> in interface <A HREF="../../../drasys/or/graph/GraphI.html">GraphI</A></DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>An enumeration with elements of class EdgeI.</DL>
</DD>
</DL>
<HR>

<A NAME="mutableEdges()"><!-- --></A><H3>
mutableEdges</H3>
<PRE>
public java.util.Enumeration <B>mutableEdges</B>()</PRE>
<DL>
<DD>Creates an enumeration on the edges of the graph.
The enumeration is allowed to return mutable edges if that is more efficient, 
but the contents of an edge must be used before 'nextElement()' is called again.<DD><DL>
<DT><B>Specified by: </B><DD><A HREF="../../../drasys/or/graph/GraphI.html#mutableEdges()">mutableEdges</A> in interface <A HREF="../../../drasys/or/graph/GraphI.html">GraphI</A></DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>An enumeration with elements of class EdgeI.</DL>
</DD>
</DL>
<HR>

<A NAME="toString(java.lang.String)"><!-- --></A><H3>
toString</H3>
<PRE>
public java.lang.String <B>toString</B>(java.lang.String&nbsp;cls)</PRE>
<DL>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="isSubsetOf(drasys.or.graph.GraphI)"><!-- --></A><H3>
isSubsetOf</H3>
<PRE>
public boolean <B>isSubsetOf</B>(<A HREF="../../../drasys/or/graph/GraphI.html">GraphI</A>&nbsp;graph)</PRE>
<DL>
<DD>A graph is a subset of another if all its elements are contained in the other.<DD><DL>
<DT><B>Specified by: </B><DD><A HREF="../../../drasys/or/graph/GraphI.html#isSubsetOf(drasys.or.graph.GraphI)">isSubsetOf</A> in interface <A HREF="../../../drasys/or/graph/GraphI.html">GraphI</A></DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>True if this graph is a subset of the argument.</DL>
</DD>
</DL>
<HR>

<A NAME="equals(java.lang.Object)"><!-- --></A><H3>
equals</H3>
<PRE>
public boolean <B>equals</B>(java.lang.Object&nbsp;o)</PRE>
<DL>
<DD>Two graphs are equal if they have exacty the same elements.<DD><DL>
<DT><B>Overrides:</B><DD>equals in class java.lang.Object</DL>
</DD>
<DD><DL>
<DT><B>Returns:</B><DD>True if the graphs are equal.</DL>
</DD>
</DL>
<!-- ========= END OF CLASS DATA ========= -->
<HR>

<!-- ========== START OF NAVBAR ========== -->
<A NAME="navbar_bottom"><!-- --></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3">
  <TR ALIGN="center" VALIGN="top">
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../overview-summary.html"><FONT ID="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT ID="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT ID="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT ID="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT ID="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT ID="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
  </TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>

<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../drasys/or/graph/EdgeValue.html"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../drasys/or/graph/MatrixGraph.html"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../index.html" TARGET="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="Graph.html" TARGET="_top"><B>NO FRAMES</B></A></FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
  SUMMARY: &nbsp;INNER&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL: &nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<!-- =========== END OF NAVBAR =========== -->

<HR>
Copyright(C)1997-2000 by DRA Systems all rights reserved. <A HREF=http://OpsResearch.com TARGET=HOME>OpsResearch.com</A>
</BODY>
</HTML>
